iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
0
自我挑戰組

sass&css 30天學習日誌系列 第 10

CSS: transform 應用(1)

  • 分享至 

  • xImage
  •  

滑動區塊是網頁常用的視覺技巧,六角學院的jQuery課程中有兩個簡單效果:

滑動廣告:

滑到圖片時候,文字區塊由下往上移動

https://ithelp.ithome.com.tw/upload/images/20200411/20107321ZGKECagNIH.png

滑動選單:

點擊黑色區塊,紅色選單就會由左往右顯示

https://ithelp.ithome.com.tw/upload/images/20200411/20107321oX6DLbiHfp.png
https://ithelp.ithome.com.tw/upload/images/20200411/20107321O5sxr3i0RT.png

滑動廣告

HTML
一個外框(img_block)裡面包含img和文字區塊(block)

https://ithelp.ithome.com.tw/upload/images/20200411/20107321vCHO8yOGID.png

CSS
外框設為相對定位,裡面的圖和文字區塊設定為絕對定位,文字區塊往下移動,在此移動範圍是高度+1也就是51px,可依照情況調整

https://ithelp.ithome.com.tw/upload/images/20200411/20107321iSWwLPXiuA.png

最後增加位移,有3個部分要做:

1. transition設定秒數在文字區塊上

2. 滑鼠hover在外框範圍內(img_block),裡面的block要往上移動(bottom:0)

3. 把外框以外的區域隱藏,使用overflow:hidden

https://ithelp.ithome.com.tw/upload/images/20200411/20107321sfFq47B8yN.png

滑動選單

HTML
建立一個外框wrap,裡面有滑動選單(left_menu)和包含header的區塊(container)

https://ithelp.ithome.com.tw/upload/images/20200411/20107321zhItRpSG8V.png

CSS
外框設定相對定位,裡面的container和內容、left_meun都設定絕對定位

https://ithelp.ithome.com.tw/upload/images/20200411/20107321NZW6MvREKn.png

https://ithelp.ithome.com.tw/upload/images/20200411/201073216YbVTJvpaa.png

因為紅色選單區塊效果是覆蓋container上面,所以設定z-index權重2,其他被覆蓋的區塊為1
與上面一樣加上left移動在畫面左邊

https://ithelp.ithome.com.tw/upload/images/20200411/20107321dOko8DfeYE.png

點擊黑色區塊要觸發紅色menu移動的話,最簡單就是使用jQuery(使用jQuery前要引入他的js)
以下內容大意為:
JS:
當點擊header(黑色區塊)時候,wrap(外框)就新增class(open)
CSS:
open內的left_menu往左邊移動0px

https://ithelp.ithome.com.tw/upload/images/20200411/20107321mAzzuiukMb.png

如此就串成一連串動作,如下圖

https://ithelp.ithome.com.tw/upload/images/20200411/20107321aO7yWbgai9.png
https://ithelp.ithome.com.tw/upload/images/20200411/20107321Kh0TSMYumf.png

隱藏的外面的紅色區塊就在外框(wrap)新增overflow:hidden

https://ithelp.ithome.com.tw/upload/images/20200411/20107321MSQ0DKB7a6.png

除此之外移動還有另一個作法,就是把left改為transform,效果也是一樣,
差異在transform的效能比left較優化許多

詳情可見這篇文章:
https://blog.csdn.net/u010552788/article/details/52186108

https://ithelp.ithome.com.tw/upload/images/20200411/20107321qBE7MRaa7a.png

codepen:https://codepen.io/yuski/pen/LgjMmz
文章取材來源: 六角學院-使用 jQuery 打造互動性網頁動畫效果


上一篇
CSS: RWD技巧-等比例圖片、隱藏多餘文字
下一篇
CSS: transform 應用(2)
系列文
sass&css 30天學習日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言